//
// File:	SoundManager.hpp
// Author:	Thomas TISSOT-DUPONT
// Login:	<thomas.tissotdupont@free.fr>
//
// Created:	28/04/2010 at 03:04:17
// Purpose:	
//
#ifndef SOUNDMANAGER_HPP
#define SOUNDMANAGER_HPP

#include <list>
#include "ISoundManager.hpp"

class SoundManager : public ISoundManager
{
public:
									SoundManager();
									~SoundManager();

public:
	ISound							*CreateSound(const std::string &filename);

public:
	void							Update();

public:
	void							ClearAllSounds();

public:
	void							RemoveDeletedSounds();

private:
	void							MuteSounds();
	void							UpdateSounds();

private:
	typedef std::list<ISound *>		tSoundList;
	tSoundList						m_soundsList;
};

#endif //!SOUNDMANAGER_HPP
